'use strict';

module.exports = function (config) {
  config.name = 'com.dcos.app';
  // 可以定义多条规则，后面的规则会覆盖前面的
  config.rules = [{
      url: /^\/v1\/api\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/api/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/project\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/project/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/env\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/env/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/conf\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/conf/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/pipstat\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/pipstat/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/prog\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/prog/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/buildlog\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/buildlog/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/template\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/template/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/user\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/user/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    },{
      url: /^\/v1\/report\/(.*)$/, // 要代理的url，可以是正则表达式，也可以是字符串，如果是字符串(假设为'/api')则将被处理成/^\/api\/(.*)$/的形式
      rewrite: '/$1',  // 可选，默认把原来的url完全传过来，即：不重写
      proxy:' http://10.142.21.170:10010/v1/report/',
      cookie: {
        path: '/',  // 覆盖原服务器的cookie path设置（如果有）
        domain: 'localhost' // 覆盖原服务器的cookie domain设置（如果有）
      },
      delay: 100 // 延迟毫秒数，可选
    }
  ];
  // 用户自定义的middleware将优先于默认的
  config.middlewares = [
    function(req, res, next) {
      next();
    }
  ];
};
